package org.example.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor

/*
    mybatisplus的使用，默认情况下要求表名和实体类的类名，必须保持一致
    如果不一致
    可以通过如下方式指定表名
 */

//@TableName("tbl_user")
public class User {

    /*
        使用MyBatisPlus
        如果设置整型主键自增
        要求：
            不仅仅是 表中要设置 主键自增  auto_increment
            对应实体类也要设置 主键自增
     */

    //@TableId 标识该属性为主键字段
    //value = "id" 对应表的字段为id
    //type = IdType.AUTO 表示主键为自动递增 添加操作时无需为主键赋值
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    private String name;

    //@TableField(select = false) 表示查询的字段 忽略掉密码
    private String password;

    private Integer age;

    //@TableField(value = "phone") //表字段为phone，查询结果保存到tel属性中
    private String tel;

    //@TableField(exist = false) //表示这个address属性只是在开发时类中使用  与数据库User表字段无关
    private String address;



}
